package vns.client.service;

import java.util.ArrayList;
import java.util.List;

import vns.shared.RuleActionDTO;
import vns.shared.RuleParamDTO;
import vns.shared.ObjectPropertyDTO;

import com.google.appengine.api.datastore.Key;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface RuleParamServiceAsync {

	void Create(RuleParamDTO paramDTO, AsyncCallback<RuleParamDTO> callback);

	void Update(RuleParamDTO action, AsyncCallback<RuleParamDTO> callback);

	void Load(Key id, AsyncCallback<RuleParamDTO> callback);

	void Remove(Key id, AsyncCallback<Boolean> callback);

	void Loadall(RuleActionDTO action,
			AsyncCallback<ArrayList<RuleParamDTO>> callback);

	void Loadall(ObjectPropertyDTO opropertyDTO,
			AsyncCallback<ArrayList<RuleParamDTO>> callback);

	void Updateall(List<RuleParamDTO> action, RuleActionDTO Action,
			AsyncCallback<Void> callback);

	void Updateall(List<RuleParamDTO> action, ObjectPropertyDTO opropertyDTO,
			AsyncCallback<Void> callback);



}
